package com.xxxx.server.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xxxx.server.pojo.Admin;
import com.xxxx.server.pojo.Adminoldpassword;
import com.xxxx.server.pojo.RespBean;
import com.xxxx.server.pojo.Role;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zhoubin
 */
public interface IAdminService extends IService<Admin> {
	/**
	 * 登录之后返回token
	 * @param username
	 * @param password
	 * @param code
	 * @param request
	 * @return
	 */
	RespBean login(String username, String password, String code, HttpServletRequest request);

	/**
	 * 根据用户名获取用户
	 * @param username
	 * @return
	 */
	Admin getAdminByUserName(String username);

	/**
	 * 根据用户id查询角色列表
	 * @param adminId
	 * @return
	 */
	List<Role> getRoles(Integer adminId);


	void updatetu(String url,HttpServletRequest request);

	RespBean updateAdminService(Admin adminvo);

	RespBean updateAdminpassService(Adminoldpassword adminpws);

	/**
	 * 获取所有admin
	 * @param keywords
	 * @return
	 */
	List<Admin> getAllAdmins(String keywords);


	/**
	 * 获取admin下的所有角色
	 * @param
	 * @return
	 */
	List<Role> getAllRoles();

	/**
	 * 实现角色更新
	 * @param adminId
	 * @param roleIds
	 * @return
	 */
	RespBean updateAdminRoles(Integer adminId, Integer[] roleIds);
	RespBean updateAdminRoles(Integer adminId);


	/**
	 * 删除管理员
	 * @return
	 */
	RespBean deleteAdmin(Integer id);

	/**
	 * 设置管理员是否有效
	 * @param admin
	 * @return
	 */
	RespBean enabledAdmin(Map<String, Object> admin);
}
